// import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlASTVisitor;

#include "MySqlUseIndexHint.h"
#include "../visitor/MySqlASTVisitor.h"
#include "../../../../utils/listTran.h"
#include "../../../ast/SQLName.h"

// @Override
void MySqlUseIndexHint::accept0(MySqlASTVisitor_ptr visitor)
{
  if (visitor->visit(SharedObject(MySqlUseIndexHint)))
  {
    SQLObject_list_ptr tmp1 = ListTran::tran_class<SQLName, SQLObject>(getIndexList());
    acceptChild(visitor, tmp1);
  }
  visitor->endVisit(SharedObject(MySqlUseIndexHint));
}

SQLObject_ptr MySqlUseIndexHint::clone()
{
  SQLObject_ptr clone_tmp = std::shared_ptr<MySqlUseIndexHint>(new MySqlUseIndexHint());
  std::shared_ptr<MySqlUseIndexHint> x = std::dynamic_pointer_cast<MySqlUseIndexHint>(clone_tmp);
  // MySqlUseIndexHint x = new MySqlUseIndexHint();
  cloneTo(x);
  return x;
}
